home *** CD-ROM | disk | FTP | other *** search
Text File | 1990-04-11 | 27.6 KB | 1,031 lines |
-
-
-
-
- Changes to
-
-
- The Rand MH Message Handling System:
-
-
- MH #6.5 for 4.3BSD UNIX
-
-
-
- Marshall T. Rose
-
- Northrop Research and Technology Center
-
- One Research Park
-
- Palos Verdes Peninsula, CA 90274
-
-
-
- April 12, 1990
-
-
-
- Abstract
-
- This document describes the user-visible change to the UCI ver-
- sion of the Rand MH system that were made from mh.5 to MH #6.5.
- It is based on the mh.6 changes document, but has been updated to
- accurately reflect the MH distributed with 4.3bsd UNIX1 . This docu-
- ment does not describe bug-fixes, per se, or internal changes, unless
- these activities resulted in a visible change for the MH user.
- This document is meant to supplement, not supersede, the stan-
- dard MH User's manual[MRose85 ].
- Comments concerning this documentation should be addressed to
- the Internet mailbox Bug-MH@ICS.UCI.EDU.
-
-
-
- ________________________________________________
- T0his document (version #2.10) was LaTEX set April 12, 1990 with lplain v2.09-10/29/85.
- 1 UNIX is a trademark of AT&T Bell Laboratories.
-
-
-
- 1
-
-
-
-
- Acknowledgements
-
-
- The MH system described herein is based on the original Rand MH system.
-
- It has been extensively developed (perhaps too much so) by Marshall T. Rose
-
- and John L. Romine at the University of California, Irvine. Einar A. Stef-
-
- ferud, Jerry N. Sweet, and Terry P. Domae provided numerous suggestions
-
- to improve the UCI version of MH . Of course, a large number of people have
-
- helped MH along. The list of "MH immortals" is too long to list here. How-
-
- ever, Van Jacobson deserves a special acknowledgement for his tireless work
-
- in improving the performance of MH . Some programs have been speeded-up
-
- by a factor of 10 or 20. All of users of MH , everywhere, owe a special thanks
-
- to Van.
-
-
-
- Disclaimer
-
-
- The Regents of the University of California wish to make it known that:
-
-
- Although each program has been tested by its contributor, no
-
- warranty, express or implied, is made by the contributor or the
-
- University of California, as to the accuracy and functioning of
-
- the program and related program material, nor shall the fact of
-
- distribution constitute any such warranty, and no responsibility
-
- is assumed by the contributor or the University of California in
-
- connection herewith.
-
-
-
- 2
-
-
-
-
- Conventions
-
-
- In this document, certainaL TE X -formatting conventions are adhered to:
-
-
- 1. The names of UNIX commands, such as comp , are presented in text
-
- italics.
-
-
- 2. Arguments to programs, such as `msgs', are presented in typewriter
-
- style and delimited by single-quotes.
-
-
- 3. UNIX pathnames and envariables, such as
-
-
- /usr/uci/ and $SIGNATURE ;
-
-
- are presented in slanted roman.
-
-
- 4. Text presenting an example, such as
-
-
-
- comp -editor zz
-
-
-
- is presented in typewriter style.
-
-
-
- 3
-
-
-
-
- General Changes
-
-
- Unlike the changes between mh.4 and mh.5 , a large number of user-visible
-
- changes have been made in mh.6 . These changes have been in the form of
-
- bug fixes and several generalizations. The majority of these will not affect
-
- novice users. In addition, mh.6 is a great deal faster than mh.5 : all programs
-
- have been speeded-up significantly, thanks to work done by Van Jacobson as
-
- part of the process of including mh.6 in the 4.3bsd UNIX distribution.
-
- This document describes all user-visible changes to mh.5 from it's initial
-
- release to the intermediate release of MH #6.5.
-
-
-
- System-5 Support
-
-
- In addition to support for bsd UNIX, V7 UNIX and Xenix2 variants of UNIX,
-
- MH finally has support for the AT&T variant of UNIX, System 5. Hopefully
-
- this will greatly expand the number of system which can run MH . Ironically,
-
- it appears that five ports of earlier versions of MH (including mh.5 ) were
-
- done, but news of the work was not widespread.3
-
-
-
- Documentation
-
-
- Several new documents have been included in the mh.6 distribution: The
-
- paper MH.5: How to process 200 messages a day and still get some real work
-
- done was presented at the 1985 Summer Usenix Conference and Exhibition
-
- in Portland, Orgeon. Another paper, MH: A Multifarious User Agent, has
-
- been accepted for publication by Computer Networks. Both describe MH , the
-
- former from a more technical and somewhat humorous perspective, the latter
-
- from a more serious and research-oriented perspective. In addition, a third
-
- paper has been included, Design of the TTI Prototype Trusted Mail Agent,
-
- which describes a so-called "trusted" mail agent built on top of MH . This
-
- paper was presented at the Second International Symposium on Computer
-
- Message Systems in Washington, D.C. A fourth paper, MZnet: Mail Service
-
- for Personal Micro-Computer Systems, is also included. This paper, which
- ________________________________________________
- 2 Xenix is a trademark of Microsoft Corporation.
- 3 In fact, three groups in one large organization ported MH independently, each without
-
- knowledge of the others' work.
-
-
-
- 4
-
-
-
-
- was presented at the First International Symposium on Computer Message
-
- Systems in Nottingham, U.K., describes a CP/M4 -based version of MH .
-
- In addition, the MH tutorial, The Rand MH Message Handling System:
-
- Tutorial, and, The Rand MH Message Handling System: The UCI BBoards
-
- Facility, have both been updated by Jerry N. Sweet.
-
- For MH administrators (PostMasters and the like), there's an entirely
-
- new document, The Rand MH Message Handling System: Administrator's
-
- Guide. It explains most of the "ins and outs" of maintaining an MH system.
-
- Finally, all of the manual entries and the MH manual have had a thorough
-
- working over. The documentation is expanded, more accurate, and more
-
- detailed.
-
-
-
- Help Listings
-
-
- When any MH command is invoked with the `-help' switch, in addition to
-
- listing the syntax of the command and version information, the MH config-
-
- uration options will be listed. MH has so many configuration options, that
-
- when debugging problems, this information is invaluable.
-
-
-
- The MH Profile
-
-
- There are two new profile entries worth noting: MH-Sequences tells MH the
-
- name of the file to record public sequences in. Users of vm , a proprietary,
-
- visual front-end to MH , make use of this to disable the public sequences
-
- feature of MH .
-
- The profile entry Unseen-Sequence names those sequences which should
-
- be defined as those messages recently incorporated by inc . The show program
-
- knows to remove messages from this sequence once it thinks they have been
-
- seen. If this profile entry is not present, or is empty, then no sequences are
-
- defined. Otherwise, for each name given, the sequence is first zero'd and then
-
- each message incorporated is added to the sequence. As such, this profile
-
- entry is rather analogous to the Previous-Sequence entry in the user's MH
-
- profile.
-
- In addition, the Alternate-Mailboxes entry in the profile has been ex-
-
- panded to support simple wild-carding. Also, the default for this profile entry
- ________________________________________________
- 4 CP/M is a trademark of Digital Research Corporation.
-
-
-
- 5
-
-
-
-
- is now the user's mail-id at any host. This change was made since MH can
-
- no longer reliably figure out what the user's real outgoing address looks like.
-
- Finally, when the install-mh program is automatically invoked by MH , it
-
- won't prompt the user for information. Instead, it notes that it's setting up
-
- the default environment. In addition, the MH administrator may set-up a
-
- file called mh.profile in the MH library area which is consulted by install-mh
-
- when initializing the user's .mh__profile .
-
-
-
- The MH Context
-
-
- The folder , scan , and show programs have been modified to update the user's
-
- MH context prior to writing to the user's terminal. This allows the MH user
-
- interrupt output to the terminal and still have the expected context. This is
-
- especially useful to interrupt long scan listings. This change also introduces
-
- a subtle bug between show and messages denoted by the Unseen-Sequence.
-
- See show (1) for the details.
-
-
-
- Addresses and 822 support
-
-
- MH now fully supports the RFC-822 routing syntax for addresses (it used to
-
- recognize the syntax, but ignore the information present). In addition, there
-
- are three major modes for support of non-822 addressing in MH :
-
-
- - BERK
-
- This is useful on sites running SendMail . It doesn't support full 822-
-
- style addressing, in favor of recognizing such formats as ACSnet, and
-
- so on. For sites that can't run in an 822-compliant environment, this is
-
- the option to use (at the price of sacrificing some of the power of 822-
-
- style addressing). This also drastically reduces the address formatting
-
- facilities described below.
-
-
- - DUMB
-
- Although not as liberal as BERK, the DUMB option is useful on sites
-
- in which the message transport system conforms to the 822 standard,
-
- but wants to do all the defaulting itself.
-
-
- - BANG
-
- From out in left field, the BANG option favors UUCP -style addressing
-
-
-
- 6
-
-
-
-
- over 822-style addressing. Hopefully when all the UUCP sites around
-
- get around to adopting domain-style addresses, this option won't be
-
- needed.
-
-
- The ap program (mentioned momentarily) and the ali program both sup-
-
- port a `-normalize' switch indicate if addresses should be resolved to their
-
- "official" hostnames.
-
-
-
- New Programs
-
-
- There are five new programs available: The ap program is the MH stand-
-
- alone address parser. It's useful for printing address in various formats (and
-
- for debugging address strings). The dp program is similar, but works on
-
- dates instead of addresses.
-
- The msgchk program checks for new mail, possibly using the Post Office
-
- Protocol, POP, described below.
-
- A new receive mail hook, the rcvstore program, which was written by
-
- Julian L. Onions is available.
-
- Finally, a visual front-end to msh called vmh has been included. (This
-
- program is discussed in greater detail later on.)
-
-
-
- Message Numbering
-
-
- MH now no longer restricts the number of messages which may reside in a
-
- folder (beyond that of system memory constraints). This means that message
-
- numbers larger than 2000 are permissible. Hopefully this will make life easier
-
- for people reading the network news using MH .
-
-
-
- The WhatNow Shell
-
-
- In mh.6 , there is now the concept of a unified What now? processor that
-
- the four composition programs, comp , dist , forw , and repl all invoke. This
-
- permits a greater flexibility in building mail applications with MH . As a
-
- result, there's a new program, whatnow , which acts as the default What now?
-
- program. Consult the whatnow (1) manual entry for all the details. The only
-
- important user-visible change is the headers option went away, which wasn't
-
- used that much anyway.
-
-
-
- 7
-
-
-
-
- The only other thing worth noting is that unless MH has been compiled
-
- with the UCI option, the user's $HOME/.signature file is not consulted for
-
- the user's personal name.
-
-
-
- Format Strings
-
-
- A general format string facility has been added to allow MH users to tailor
-
- the output of certain commands.
-
- The inc , scan , ap , and dp programs all consult a file containing format
-
- strings. Format strings, which look a lot like printf (3) strings, give these MH
-
- commands precise instructions on how to format their output.
-
- As a result, the inc and scan programs no longer have the `-size', `-
-
- nosize', `-time', `-notime', `-numdate', and `-nonumdate' switches. These
-
- switches have been replaced with the `-form formatfile' switch and the
-
- `-format string' switch. The former directs the program to consult the
-
- named file for the format strings. The latter directs the program to use the
-
- named string as the format. To get the behavior of the old `-time' option,
-
- use the `-form scan.time' option. Similarly, to get the effect of `-size', use
-
- `-form scan.size'.
-
- A fun form to use is `-form scan.timely' with scan . Try it sometime.
-
- The repl command uses a file containing format files to indicate how the
-
- reply draft should be constructed. Note that reply templates prior to mh.6
-
- are incompatible with mh.5 .5 Don't worry though, it's quite easy to convert
-
- the templates by hand. (Those clever enough to have written a reply template
-
- to begin with won't have any problem.)
-
- Similarly, when the forw program is constructing a digest, it uses a file
-
- containing format strings to indicate how to build the encapsulating draft.
-
- Finally, you can use these facilities in mhl as well.
-
-
-
- News
-
-
- The depreciated MH news system (from mh.1 ) is now de-supported. Use the
-
- "hoopy" BBoards facility instead.
- ________________________________________________
- 5 In fact, reply templates between mh.6 and MH #6.5 are imcompatible.
-
-
-
- 8
-
-
-
-
- BBoards
-
-
- MH maintainers take note: the default home directory for the bboards login
-
- has changed from /usr/bboards/ to /usr/spool/bboards/ . Use the bbhome
-
- directive in your MH configuration file to set it back to the old value if you
-
- wish.
-
- In addition, the aliases field for a BBoard in the BBoards file is now
-
- deemed useful only for addressing, not for user input to bbc . This means
-
- when giving the name of a BBoard to bbc , only the official name should be
-
- used.
-
- A final note for mailsystem maintainers: the MMDF-II BBoards chan-
-
- nel and the SendMail BBoards mailer have been modified to use the stan-
-
- dard message encapsulation format when returning failed messages to the list
-
- maintainer. This means that the failure notices that the maintainer receives
-
- can simply be burst .
-
-
-
- New Switches in bbc
-
-
- The bbc program permits you to specify the mshproc to use on the command
-
- line by using the `-mshproc program' option. There's also a `-rcfile file'
-
- option which does "the obvious thing". In addition, options which aren't
-
- understood by bbc are passed along to the mshproc.
-
- In addition, the following commands pass any unrecognized switches on
-
- to the program that they invoke: bbc , next , show , prev , and vmh .
-
-
-
- Distributed BBoards
-
-
- If both BBoards and POP (see the next section) are enabled, then distributed
-
- BBoards can be supported on top of the POP service. This allows the MH
-
- user to read BBoards on a server machine instead of the local host (which
-
- saves a lot of wasted disk space when the same BBoards are replicated sev-
-
- eral times at a site with several hosts). See the Administrator's Guide for
-
- information on how this can be made completely transparent to the MH user.
-
- If you have several machines at your site running 4.2bsd UNIX and con-
-
- nected by an Ethernet6 (or other high-speed LAN), you want this software.
- ________________________________________________
- 6 Ethernet is a trademark of the Xerox Corporation.
-
-
-
- 9
-
-
-
-
- Visual Front-End to msh
-
-
- A simple window management protocol has been implemented for MH pro-
-
- grams that might wish to act as a back-end to a sophisticated visual front-
-
- end.
-
- The first implementation of a server side (front-end) program is vmh ,
-
- which uses curses (3) to maintain a split-screen interface. Perhaps look for a
-
- mhtool program for the SUN next!
-
- The msh program has been modified to speak the client side (back-end)
-
- of this protocol, if so directed. At present, msh is the only program in the
-
- MH distribution which implements the client side of the window management
-
- protocol.
-
-
-
- Updates in msh
-
-
- Prior to quitting, the msh command now asks if the packf 'd file you've been
-
- perusing should be updated if you've modified it and the file is writable by
-
- you. The file can be modified by using burst , rmm , rmm , or sortm commands.
-
- The file can also be modified by using the refile command without the `-link'
-
- option. (Or course, the `-link' option doesn't actually link anything to the
-
- file.)
-
-
-
- Distributed Mail
-
-
- MH now contains a powerful facility for doing distributed mail (having MH
-
- reside on a host different than the message transport agent). For general
-
- information, consult either the MH.5: How to process 200 messages a day
-
- and still get some real work done paper, or the MH: A Multifarious User
-
- Agent paper. For specific information, consult the Administrator's Guide.
-
- Here's a brief synopsis:
-
- This POP facility in MH is based on a modification of the ARPA Post
-
- Office Protocol (POP). A POP subscriber is a remote user, on a POP client
-
- host, that wishes to pick-up mail on a POP service host.
-
- There are two ways to administer POP:
-
-
- - Naive Mode
-
- Each user-id in the passwd (5) file is considered a POP subscriber. No
-
-
-
- 10
-
-
-
-
- changes are required for the mailsystem on the POP service host. How-
-
- ever, this method requires that each POP subscriber have an entry in
-
- the password file. The POP server will fetch the user's mail from wher-
-
- ever maildrops are kept on the POP service host. This means that if
-
- maildrops are kept in the user's home directory, then each POP sub-
-
- scriber must have a home directory.
-
-
- - Smart Mode
-
- This is based on the notion that the list of POP subscribers and the
-
- list of login users are completely separate name spaces. A separate
-
- database (similar to the BBoards (5) file) is used to record information
-
- about each POP subscriber. Unfortunately, the local mailsystem must
-
- be changed to reflect this. This requires two changes (both of which
-
- are simple):
-
-
- 1. Aliasing
-
- The aliasing mechanism is augmented so that POP subscriber ad-
-
- dresses are diverted to a special delivery mechanism. MH comes
-
- with a program, popaka (8), which generates the additional infor-
-
- mation to be put in the mailsystem's alias file.
-
- 2. Delivery
-
- A special POP delivery channel (for MMDF-II ) or POP mailer (for
-
- SendMail ) performs the actual delivery (mh.6 supplies both). All
-
- it really does is just place the mail in the POP spool area.
-
-
- Clever mailsystem people will note that the POP mechanism is really
-
- a special case of the more general BBoards mechanism.
-
-
- These two different philosophies are not compatible on the same POP service
-
- host: one or the other, but not both, may be run.
-
- In addition, there is one user-visible difference, which the administrator
-
- controls the availability of. The difference is whether the POP subscriber
-
- must supply a password to the POP server:
-
-
- - ARPA standard method
-
- This uses the standard ARPA technique of sending a username and a
-
- password. The appropriate programs (inc , msgchk , and possibly bbc )
-
- will prompt the user for this information.
-
-
-
- 11
-
-
-
-
- - UNIX remote method
-
- This uses the Berkeley UNIX reserved port method for authentication.
-
- This requires that the two or three mentioned above programs be setuid
-
- to root. (There are no known holes in any of these programs.)
-
-
- These two different philosophies are compatible on the same POP service
-
- host: to selectively disable RPOP for hosts which aren't trusted, either mod-
-
- ify the .rhosts file in the case of POP subscribers being UNIX logins, or zero
-
- the contents of network address field of the pop (5) file for the desired POP
-
- subscribers.
-
- The inc command also has two other switches when MH is enabled for
-
- POP: `-pack file' and `-nopack'. Normally, inc will use the POP to incor-
-
- porate mail from a POP service host into an MH folder (+inbox). However,
-
- there are some misguided individuals who prefer to msh to read their mail-
-
- drop. By using the `-pack file' option, these individuals can direct inc to
-
- fetch their maildrop from the POP service host and store it locally in the
-
- named file. As expected, inc will treat the local file as a maildrop, performing
-
- the appropriate locking protocols. And, if the file doesn't exist, the user is
-
- now asked for confirmation.
-
-
-
- Rcvmail hooks
-
-
- In order to offer users of MH increased rcvmail hook functionality, the slocal
-
- program has been upgraded to support the semantics of the MMDF-II mail-
-
- delivery mechanism. This means that users of mh.6 can maintain identi-
-
- cal .maildelivery files regardless of the underlying transport system. See
-
- mhook (1) for all the details.
-
-
-
- Change in rcvdist
-
-
- The rcvdist rcvmail hook now uses the MH formatting facility when redis-
-
- tributing a message.
-
-
-
- Field change in rcvpack
-
-
- The rcvpack rcvmail hook now adds the field name Delivery-Date: instead
-
- of Cron-Date: to messages it pack s.
-
-
-
- 12
-
-
-
-
- GNU Emacs Support
-
-
- James Larus' mh-e macro package for GNU Emacs (version 17) is included
-
- in the distribution. When loaded in Emacs, this provides a handy front-end.
-
-
-
- Other Changes
-
-
- Here's the miscellany:
-
-
-
- Continuation Lines
-
-
- Alias files used by MH , display templates used by mhl , and format files used
-
- by forw , repl , and scan all support a standard continuation line syntax. To
-
- continue a line in one of these files, simply end the line with the backslash
-
- character (`n'). All the other files used by MH are in 822-format, so the
-
- 822-continuation mechanism is used.7
-
-
-
- Default Date Format
-
-
- MH now uses numeric timezones instead of locally-meaningful alpha time-
-
- zones when generating mail. This change was made to encourage the use
-
- of unambiguous, globally-meaningful timezone strings. A local configura-
-
- tion option can disable this correct behavior. All of the mhl templates have
-
- been modified to use locally-meaningful alpha timezones when displaying
-
- messages.
-
-
-
- New switch in ali
-
-
- The ali command now has a `-noalias' switch to prevent system-wide aliases
-
- from being interpreted.
-
-
-
- Modifications to show
-
-
- The `-format', `-noformat', `-pr', and `-nopr' options to show have gone away
-
- in favor of a more general mechanism. The `-showproc program' option tells
- ________________________________________________
- 7 Looking back, it would have been best had all files in MH used the 822-format.
-
-
-
- 13
-
-
-
-
- show (or next or prev ) to use the named program as the showproc. The
-
- `-noshowproc' option tells show , et. al., to use the cat (1) program instead of
-
- a showproc. As a result, the profile entry prproc is no longer used.
-
-
-
- Switch change in inc
-
-
- The `-ms ms-file' switch in inc has been changed to `-file name' to be
-
- more consistent.
-
-
-
- Front-End to mhl
-
-
- When outputting to a terminal, the mhl program now runs the program
-
- denoted by the profile entry moreproc. If this entry is not present, the
-
- default is the UCB more program. If the entry is non-empty, then that
-
- program is spliced between mhl and the user's terminal. The author uses the
-
- less program as his moreproc.
-
- Of course, if mhl isn't outputting to a terminal, then moreproc is not
-
- invoked.
-
- Finally, to aid in the construction of replies, a prefix string may be speci-
-
- fied for the body component of the message being replied-to. Simply use the
-
- component= construct in mhl for body:.
-
-
-
- Confirmation in packf
-
-
- If the file specified by the `-file name' switch doesn't exist, the user is now
-
- asked for confirmation.
-
-
-
- Complex Expressions in pick
-
-
- The pick command now handles complex boolean expressions.
-
-
-
- Defaults change in prompter and burst
-
-
- The `-prepend' option is now the default in prompter . The `-noinplace'
-
- option is now the default in burst .
-
-
-
- 14
-
-
-
-
- Fcc:s and post
-
-
- If multiple Fcc:s for a message are specified during posting, post will try much
-
- harder to preserve links.
-
-
-
- Interactive option in rmf
-
-
- The rmf program has been changed to support an `-interactive' switch.
-
- If given, then the user is prompted regarding whether the folder should be
-
- deleted. If the folder to be removed is not given by the user, this switch is
-
- defaulted to on.
-
-
-
- Trusted Mail Interface
-
-
- MH now has an interface for so-called "trusted mail" applications. Although
-
- the modifications to MH to support this are in the public domain, the actual
-
- library that MH uses is not. Contact Professor David J. Farber (Farber@UDel)
-
- for more information.
-
-
-
- References
-
-
- [MRose85] Marshall T. Rose and John L. Romine. The Rand MH Message
-
- Handling System: User's Manual. Department of Information
-
- and Computer Science, University of California, Irvine, mh.6 edi-
-
- tion, November, 1985. UCI Version.
-
-
-
- 15
-